package com.cn.stringBuilder;

/**
 * 4. StringBuilder 案例
 * 定义一个方法，把 int 数组中的数据按照指定的格式拼接成一个字符串返回，调用该方法，并在控制台输出结果。例如，数组为int[] arr = {1,2,3}; ，执行方法后的输出结果为：[1, 2, 3]
 *
 */
public class StringBuilder_04_Case {

    /**
     * 我写的
     * @param arr
     * @return
     */
    public static String arrayToString1(int[] arr){
        //在方法中用 StringBuilder 按照要求进行拼接，并把结果转成 String 返回
        StringBuilder sb = new StringBuilder();
        sb.append("[");
        for (int i = 0; i < arr.length; i++) {
            sb.append(arr[i]);
            if(i<arr.length-1){
                sb.append(",");
            }
            if (i == arr.length -1){
                sb.append("]");
            }
        }
        return sb.toString();

    }

    /**
     * 课上提供的
     * @param arr
     * @return
     */
    public static String arrayToString2(int[] arr) {
        //在方法中用 StringBuilder 按照要求进行拼接，并把结果转成 String 返回
        StringBuilder sb = new StringBuilder();

        sb.append("[");

        for(int i=0; i<arr.length; i++) {
            if(i == arr.length-1) {
                sb.append(arr[i]);
            } else {
                sb.append(arr[i]).append(", ");
            }
        }
        sb.append("]");
        String s = sb.toString();
        return  s;
    }

    public static void main(String[] args) {
        int[] arr = {1,2,3};
        String s = StringBuilder_04_Case.arrayToString1(arr);
        System.out.println(s);
    }
}
